kmem_cache_init()
{
	kmem_list3_init()
	cache_estimate()
	kmem_cache_create()
	{
	probe_kernel_address();
	kmem_cache_zalloc()
	{
	kmem_cache_alloc()
	{
	__cache_alloc()
	{
	cache_alloc_debugcheck_before()
	__do_cache_alloc()
	{
	____cache_alloc()
	{
		cpu_cache_get()
		cache_alloc_refill()
		{
		transfer_objects()
		slab_get_obj()
		cache_grow()
		{
			kmem_flagcheck()
			kmem_getpages()
			{
				alloc_pages_node()
				__SetPageSlab()
			}
			alloc_slabmgmt()
			{
			kmem_cache_alloc_node()
			__cache_alloc_node()
			}
			slab_map_pages()
			{
				page_set_cache()
				page_set_slab()
			}
			cache_init_objs()
			{
				index_to_obj()
			}
		}
		}
	}
	}
	cache_alloc_debugcheck_after()	
	}
	}
	}
	calculate_slab_order();
	kmem_cache_free();
	__kmem_cache_destroy();
}

kmalloc()
{
	kmem_cache_alloC()
}
memcpy()
init_list()
INDEX_AC	//这是一个宏，用来找到与之对应大小的malloc_sizes，原型为：index_of(sizeof(struct arraycache_init))
INDEX_L3	//同INDEX_AC


cache_alloc_refill()
